#include "GeometricObject.h"
#include "DerivedCircle.h"
#include "DerivedRectangle.h"
#include <iostream>
using namespace std;

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main() 
{
	GeometricObject shape;
	shape.setColor("red");
	shape.setFilled(true);
	cout << shape.toString() << endl << " color: " << shape.getColor() << " filled: " << (shape.isFilled() ? "true" : "false") << endl;
 	
 	Circle circle(5);
 	circle.setColor("black");
 	circle.setFilled(false);
 	cout << circle.toString() << endl << " color: " << circle.getColor() <<" filled: " << (circle.isFilled() ? "true" : "false")
	 << " radius: " << circle.getRadius()
	 << " area: " << circle.getArea()
	 << " perimeter: " << circle.getPerimeter() << endl;
	 
	Rectangle rectangle(2, 3);
	rectangle.setColor("orange");
	rectangle.setFilled(true);
	cout << rectangle.toString() << endl
	 << " orange: " << rectangle.getColor() 
	 << " true: " << (rectangle.isFilled() ? "true" : "false")
	 << " width: " << rectangle.getWidth()
	 << " height: " << rectangle.getHeight()
	 << " area: " << rectangle.getArea()
	 << " perimeter: " << rectangle.getPerimeter() << endl;
	
	system("pause");
 	return 0;
}
